package com.qyer.search.model.aggregation;

import com.qyer.search.model.mutable.Place;

import java.util.*;
/**
 * Created by tangzheng on 16/7/17.
 */
public class AggregationRegular {

  private Map<Integer, Set<Integer>> vTypeMap;
  private Map<Integer, Set<Integer>> vTypeFilters;
  private Map<Integer, Set<Integer>> vGTypeFilters;
  int channel;
  private String city;
  private String country;
  private String continent;
  private List<Place> places;

  public String getCity() {
    return city;
  }

  public void setCity(String city) {
    this.city = city;
  }

  public String getCountry() {
    return country;
  }

  public void setCountry(String country) {
    this.country = country;
  }

  public AggregationRegular(Map<Integer, Set<Integer>> vTypeMap,
                            Map<Integer, Set<Integer>> vTypeFilters, int channel) {
    this.vTypeMap = vTypeMap;
    if(vTypeMap == null)
      this.vTypeMap = new HashMap<>();
    this.vTypeFilters = vTypeFilters;
    if(this.vTypeFilters == null)
      this.vTypeFilters = new HashMap<>();
    this.channel = channel;
  }

  public AggregationRegular(Map<Integer, Set<Integer>> vTypeMap,
                            Map<Integer, Set<Integer>> vTypeFilters,
                            Map<Integer, Set<Integer>> vGTypeFilters, int channel) {
    this.vTypeMap = vTypeMap;
    this.vTypeFilters = vTypeFilters;
    this.vGTypeFilters = vGTypeFilters;
    this.channel = channel;
  }

  public AggregationRegular(Map<Integer, Set<Integer>> vTypeMap, int channel) {
    this.channel = channel;
    this.vTypeMap = vTypeMap;
  }

  public List<Place> getPlaces() {
    return places;
  }

  public void setPlaces(List<Place> places) {
    this.places = places;
  }

  public String getContinent() {
    return continent;
  }

  public void setContinent(String continent) {
    this.continent = continent;
  }

  public Map<Integer, Set<Integer>> getvTypeMap() {
    return vTypeMap;
  }

  public void setvTypeMap(Map<Integer, Set<Integer>> vTypeMap) {
    this.vTypeMap = vTypeMap;
  }

  public Map<Integer, Set<Integer>> getvTypeFilters() {
    return vTypeFilters;
  }

  public void setvTypeFilters(Map<Integer, Set<Integer>> vTypeFilters) {
    this.vTypeFilters = vTypeFilters;
  }

  public int getChannel() {
    return channel;
  }

  public void setChannel(int channel) {
    this.channel = channel;
  }

  public Map<Integer, Set<Integer>> getvGTypeFilters() {
    return vGTypeFilters;
  }

  public void setvGTypeFilters(Map<Integer, Set<Integer>> vGTypeFilters) {
    this.vGTypeFilters = vGTypeFilters;
  }

  @Override public String toString() {
    return "AggregationRegular{" +
      "vTypeMap=" + vTypeMap +
      ", vTypeFilters=" + vTypeFilters +
      ", vGTypeFilters=" + vGTypeFilters +
      ", channel=" + channel +
      ", city='" + city + '\'' +
      ", country='" + country + '\'' +
      ", continent='" + continent + '\'' +
      '}';
  }
}
